Such a network can be used for transmitting any type of data in the form of packets having a fixed number of bits and called "cells". These cells are transmitted asynchronously and the rate at which binary data is transmitted by each of the terminals connected to the network may be highly variable.
In such a network, flow management has two objectives:
protecting normal operation of the network by avoiding congestion regardless of the rate at which any of the terminals connected to the network may be attempting to transmit; and
maximizing the number of calls that are successfully processed.
A flow management method must achieve these two objectives simultaneously, and not one to the detriment of the other, by dynamically adapting the capacity of the transmission and switching resources of the network as a function of the varying binary flow rates present on the various connections established via the network at each instant in time. Such adaptation must be performed both at the interfaces between the network and the terminals, and within the network itself. Two types of flow must be taken into account: flows at constant rates and flows at variable rates.
Binary flows at constant rates are easy to manage. It is possible to ask each user terminal setting up a call to specify the rate at which it is going to transmit data; to dimension network resources as a function of the bit rate specified by the terminal; to monitor the bit rate actually transmitted while the call is in progress; and possibly to limit said rate should it exceed the rate specified while the call was being set up.
Managing variable bit rates is more difficult. It is possible to ask each user terminal that is setting up a call to specify the maximum bit rate that it can deliver. However, to avoid tying up resource capacity that is excessive for most of the time, the network reserves resource capacity that is less than the maximum value specified by the terminal. Consequently, at certain moments, the bit rate transmitted by such a terminal exceeds the transmission and switching capacity available in the network.
Known methods of managing flows in a digital telecommunications network are defensive methods that consist in causing the network to react as a function of the flow rates actually transmitted by the terminals. The following courses of action can be taken:
storing data in queues in the nodes of the network;
explicitly rejecting a portion of the traffic; and
voluntarily allowing a portion of the data to be transmitted to be lost.
Transit time is modulated to vary the time during which data is stored in queues in the network. Such storage is naturally limited by the queue capacity. Feedback on terminals is based on the fact that a terminal can detect a limit being imposed on the bit rate transmitted by the terminal, and giving rise to a loss of data. The terminal can respond by reducing the rate at which it transmits data.
Such a defensive method is described, for example, in French patent application No. 89 1551. That known method takes account of the type of service provided by each connection in order simultaneously to optimize resource utilization and quality of service, and it consists essentially of allowing data cells to be delayed or lost within limits that are predetermined as a function of the type of service provided by the terminals connected to the connection under consideration.
Those known methods of the defensive type satisfy the objective of avoiding network congestion, but the second objective, namely maximizing the number of calls that terminate successfully, depends on the ability of the higher network layers of the user application in each terminal to tolerate the flow rate limitations imposed by the network. In traditional data transmission applications, such bit rate limitations are acceptable since such applications are relatively tolerant of changes in the transmission delay through the network. In contrast, other types of application cannot tolerate an increase in transit time or an increase in data loss during transmission through the network.
An interactive call is a variable bit rate type of call which corresponds typically to an application in which the quantity of data interchanged at various instants is determined by the user of the terminal during the call itself. A typical example of an interactive call is consulting a data base by using menus. During the call, the terminal user makes decisions concerning the nature and the quantity of data that are to be transmitted or received by the terminal, as a function of information provided by dialog with the data base. Under such circumstances, the user of the terminal cannot tell the network while a call is being set up how much resource capacity is going to be required during each period of the call. The user can only specify the type of resources that may be required and the maximum capacity thereof. However, during a call, the user can specify how much resource capacity is going to be required during the period immediately following an instant under consideration.
The object of the invention is to provide a method of managing flows that is not based on an a priori acceptance of reduced quality of service as a means of protecting the network, but which is based on predicting certain variable binary flow rates so as to adjust resource reservation as accurately as possible as a function of predicted binary flow rates.